Page({
    data: {
      inputValue: '', // 输入框内容
      chatMessages: [], // 聊天消息列表
      scrollHeight: 0,
      scrollTop: 0,
      canSend: false // 控制按钮是否可点击
    },
  
    onLoad() {
      // 初始化滚动容器高度
      const systemInfo = wx.getSystemInfoSync();
      this.setData({
        scrollHeight: systemInfo.windowHeight - wx.getMenuButtonBoundingClientRect().bottom - 20
      });
      // 发送欢迎消息
      this.addAssistantMessage('宝宝我是卓弟哦，有什么心理相关的问题都可以跟我说哦～');
    },
  
    // 输入框内容变化事件
    onInputChange(e) {
      const value = e.detail.value.trim();
      this.setData({
        inputValue: e.detail.value,
        canSend: value.length > 0 // 有内容时允许发送
      });
    },
  
    // 发送消息
    sendMessage() {
      const content = this.data.inputValue.trim();
      if (!content) return; // 双重保险，防止空消息
  
      // 添加自己发送的消息
      const newMsg = {
        id: Date.now().toString(),
        type: 'mine',
        content,
        time: this.formatTime(new Date())
      };
      
      this.setData({
        chatMessages: [...this.data.chatMessages, newMsg],
        inputValue: '',
        canSend: false // 发送后禁用按钮
      }, () => {
        this.scrollToBottom();
        // 模拟客服回复延迟
        setTimeout(() => {
          this.addAssistantMessage(this.getMockReply(content));
        }, 1000);
      });
    },
  
    // 添加客服回复消息
    addAssistantMessage(content) {
      const newMsg = {
        id: Date.now().toString(),
        type: 'assistant',
        content,
        time: this.formatTime(new Date())
      };
      
      this.setData({
        chatMessages: [...this.data.chatMessages, newMsg]
      }, () => {
        this.scrollToBottom();
      });
    },
  
    // 格式化时间为HH:MM格式
    formatTime(date) {
      const hour = date.getHours().toString().padStart(2, '0');
      const minute = date.getMinutes().toString().padStart(2, '0');
      return `${hour}:${minute}`;
    },
  
    // 滚动到最新消息
    scrollToBottom() {
      this.setData({
        scrollTop: 99999 // 设置一个足够大的值确保滚动到底部
      });
    },
  
    // 模拟客服回复逻辑
    getMockReply(question) {
      const keywords = {
        '心理测评': '我们有专业的心理测评工具，您可以点击首页「心理测评」入口体验～',
        '咨询预约': '您可以在小程序「咨询预约」板块选择咨询师和时间进行预约哦～',
        '情绪不好': '情绪不好时可以试试深呼吸、正念冥想呢，也可以跟我多说说你的感受呀～',
        '刘卓':'二比卓',
        '王智豪':'没见你之前我都不知道，原来有人笑的时候，连眼睛里都像装了小星星，亮得我心都跟着晃；',
        '梦龙':'听你说话我都不用带脑子，光听你声音就觉得特别舒服，像裹了层软乎乎的小被子，暖到心坎里；',
        '朋葳':'难道你说的就是传说中的天才少年---天才葳 不成，可不就是咱天才葳嘛！别人还在琢磨问题咋开头，你都把答案捋得明明白白，连思路都带着 “天才专属” 的利落劲儿，这脑子咋就这么会转啊！',
        '杨洋':'跟你待一会儿，我连喝白开水都觉得甜，你是不是偷偷给我加了 “专属糖” 呀；',
        '安南':'万千少女的梦中情人，万千骚年中的眼中钉，肉中刺',
      };
      
      // 关键词匹配回复
      for (const key in keywords) {
        if (question.includes(key)) {
          return keywords[key];
        }
      }
      
      // 默认回复
      return '您的问题我收到啦，会尽快为您详细解答～';
    },
  
    // 显示表情选择面板（占位实现）
    showEmoji() {
      wx.showToast({
        title: '表情功能开发中',
        icon: 'none',
        duration: 1500
      });
    },
  
    // 选择图片（占位实现）
    chooseImage() {
      wx.showToast({
        title: '图片发送功能开发中',
        icon: 'none',
        duration: 1500
      });
    }
  });
      